Data may be stored as unstructured data, for example, in files and directories in a file system. A distributed file system may store multiple copies of a file and/or directory on more than one storage server machine to help ensure that, in case of a hardware failure and/or system failure, the data should still be accessible. If a storage server machine experiences a failure, the storage server machine may be unavailable, but changes can still be made to the data on the copies of the data on the available storage server machines. The data on the storage server machine that is down may be stale, which is data that no longer is a current version of the data. When the failed storage server machine is powered back up, the changes which were made to the other copies of the data should be propagated to the failed storage server machine. The process of updating the stale data on the storage server machine may be known as “self-healing.” In traditional self-healing solutions, self-healing is typically driven by a client device and a mount point at which the client mounts the file system. Such conventional self-healing solutions usually use a significant amount of client resources, which may impact the performance of the client device. Such conventional self-healing solutions generally do not start until a client application accesses a file, thus causing the client application to wait until the file is self-healed before the client application can access the file.